package com.example.gokuplayalong.service.privateclient.controller;

import com.alibaba.fastjson.JSONObject;
import com.example.gokuplayalong.bases.security.Communication;
import com.example.gokuplayalong.service.privateclient.PrivateClient;
import com.example.gokuplayalong.service.privateclient.service.serviceImpl.PrivateClientServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@CrossOrigin
@RestController
@RequestMapping("/private/client")
public class PrivateClientController {
    @Autowired
    PrivateClientServiceImpl privateClientService;

    @RequestMapping("/login")
    public Map<String, Object> login(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "login");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }


    @GetMapping("/users")
    public Map<String, Object> users() {
        JSONObject msg = new JSONObject();
        msg.put("name", "users");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/audits")
    public Map<String, Object> audits() {
        JSONObject msg = new JSONObject();
        msg.put("name", "audits");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }


    @GetMapping("/reviews")
    public Map<String, Object> reviews() {
        JSONObject msg = new JSONObject();
        msg.put("name", "reviews");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/merchantsreviews")
    public Map<String, Object> merchantsreviews() {
        JSONObject msg = new JSONObject();
        msg.put("name", "merchantsreviews");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/historyreviews")
    public Map<String, Object> historyreviews() {
        JSONObject msg = new JSONObject();
        msg.put("name", "historyreviews");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/payoutAlipay")
    public Map<String, Object> payoutAlipay() {
        JSONObject msg = new JSONObject();
        msg.put("name", "payoutAlipay");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/orderreviews")
    public Map<String, Object> orderreviews() {
        JSONObject msg = new JSONObject();
        msg.put("name", "orderreviews");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/reports")
    public Map<String, Object> reports() {
        JSONObject msg = new JSONObject();
        msg.put("name", "reports");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/monitors")
    public Map<String, Object> monitors() {
        JSONObject msg = new JSONObject();
        msg.put("name", "monitors");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/receiverreviews")
    public Map<String, Object> receiverreviews() {
        JSONObject msg = new JSONObject();
        msg.put("name", "receiverreviews");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/merchantsreviewsall")
    public Map<String, Object> merchantsreviewsall() {
        JSONObject msg = new JSONObject();
        msg.put("name", "merchantsreviewsall");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }



    @RequestMapping("/merchantsCreateFinish")
    public Map<String, Object> merchantsCreateFinish(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "merchantsCreateFinish");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/merchantsCreatePass")
    public Map<String, Object> merchantsCreatePass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "merchantsCreatePass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/merchantsCreateUnpass")
    public Map<String, Object> merchantsCreateUnpass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "merchantsCreateUnpass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/receiverCertifyPass")
    public Map<String, Object> receiverCertifyPass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "receiverCertifyPass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }


    @RequestMapping("/receiverCertifyUnpass")
    public Map<String, Object> receiverCertifyUnpass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "receiverCertifyUnpass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/exceptions")
    public Map<String, Object> exceptions() {
        JSONObject msg = new JSONObject();
        msg.put("name", "exceptions");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/sysbalances")
    public Map<String, Object> sysbalances() {
        JSONObject msg = new JSONObject();
        msg.put("name", "sysbalances");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/logoutreviews")
    public Map<String, Object> logoutreviews() {
        JSONObject msg = new JSONObject();
        msg.put("name", "logoutreviews");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/indexPage")
    public Map<String, Object> indexPage() {
        JSONObject msg = new JSONObject();
        msg.put("name", "indexPage");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/alipays")
    public Map<String, Object> alipays() {
        JSONObject msg = new JSONObject();
        msg.put("name", "alipays");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/orderlist")
    public Map<String, Object> orderlist() {
        JSONObject msg = new JSONObject();
        msg.put("name", "orderlist");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }

    @GetMapping("/safetylist")
    public Map<String, Object> safetylist() {
        JSONObject msg = new JSONObject();
        msg.put("name", "safetylist");
        msg.put("data", "{}");
        return new PrivateClient().Client(msg);
    }


    @RequestMapping("/payoutsPass")
    public Map<String, Object> payoutsPass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "payoutsPass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/exceptionIncBondApi")
    public Map<String, Object> exceptionIncBondApi(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "exceptionIncBondApi");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/exceptionFinishProcessApi")
    public Map<String, Object> exceptionFinishProcessApi(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "exceptionFinishProcessApi");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/exceptionBackApi")
    public Map<String, Object> exceptionBackApi(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "exceptionBackApi");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/banned")
    public Map<String, Object> banned(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "banned");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/unbanned")
    public Map<String, Object> unbanned(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "unbanned");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/solved")
    public Map<String, Object> solved(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "solved");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/payoutsUnpass")
    public Map<String, Object> payoutsUnpass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "payoutsUnpass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/admin/getUserList")
    public String getUserList(@RequestParam("msg") String map) {
        String str = new Communication().MessageDecrypt(map);
        JSONObject msg = new JSONObject();
        msg.put("name", "getUserList");
        msg.put("data", JSONObject.parse(str).toString());
        return new Communication().MessageEncrypt(new JSONObject(new PrivateClient().Client(msg)).toJSONString());
    }

    @RequestMapping("/admin/getChatPageList")
    public String getChatPageList(@RequestParam("msg") String map) {
        String str = new Communication().MessageDecrypt(map);
        JSONObject msg = new JSONObject();
        msg.put("name", "getChatPageList");
        msg.put("data", JSONObject.parse(str).toString());
        return new Communication().MessageEncrypt(new JSONObject(new PrivateClient().Client(msg)).toJSONString());
    }

    @RequestMapping("/admin/getRecentlyUserList")
    public String getRecentlyUserList(@RequestParam("msg") String map) {
        String str = new Communication().MessageDecrypt(map);
        JSONObject msg = new JSONObject();
        msg.put("name", "getRecentlyUserList");
        msg.put("data", JSONObject.parse(str).toString());
        return new Communication().MessageEncrypt(new JSONObject(new PrivateClient().Client(msg)).toJSONString());
    }

    @RequestMapping("/cancelOrderPass")
    public Map<String, Object> cancelOrderPass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "cancelOrderPass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }


    @RequestMapping("/cancelOrderUnpass")
    public Map<String, Object> cancelOrderUnpass(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "cancelOrderUnpass");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }

    @RequestMapping("/oceanengineCallback")
    public Map<String, Object> oceanengine(@RequestBody Map<String, Object> map) {
        JSONObject msg = new JSONObject();
        msg.put("name", "oceanengine");
        msg.put("data", new JSONObject(map));
        return new PrivateClient().Client(msg);
    }
}
